Method and system for packet rate shaping

ABSTRACT

Aspects of a method and system for packet rate shaping may include an MMU that enables classification of one or more packets based on a CoS and/or an egress port, and transmission of the packets in accordance with a specified packet rate based on the classification.

CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE

This application makes reference to U.S. patent application Ser. No.11/187,404 filed Jul. 21, 2005, which is hereby incorporated herein byreference in its entirety.

FIELD OF THE INVENTION

Certain embodiments of the invention relate to communication networks.More specifically, certain embodiments of the invention relate to amethod and system for packet rate shaping.

BACKGROUND OF THE INVENTION

Data networks have evolved from being single purpose providers ofdata-centric services such as file transfers and electronic mail, intomultiservice platforms that provide traditional data services, voicecommunications services, and multimedia communication services. As therange of services has expanded, the requirements for data networks havealso expanded to accommodate the unique characteristics of the differentservice types. For example, while file transfers may accommodatevariable data rate transmission across the data network, voicecommunications services may require the allocation of resources withinthe network to enable constant data rate transmission. In addition,voice communication services may specify a maximum time delay, orlatency, between the transmission of one packet, and the transmission ofthe succeeding packet. While some multimedia communications services mayaccommodate variable data rate transmission, they typically require theallocation of resources within the network to enable a targeted minimumdata transmission rate.

Given that data networks do not have infinite bandwidth, multiservicedata networks may be required to provide mechanisms for prioritizing theallocation of network resources among a diverse set of communicationservices. On such mechanism classifies data traffic carried within anetwork based on a class of service (CoS). CoS enables data traffic tobe classified as belonging to one of a plurality of classes, wherein aclass is typically defined according to a traffic profile. For example,one CoS may be characterized by a constant bit rate (CBR) trafficprofile, where the quantitative constant data transfer rate may be apart of the traffic profile. In some conventional networks, the constantdata transfer rate may be specified in bits/second. For CBR traffic, thenetwork may attempt to allocate resources to enable traffic to betransmitted at the specified constant transfer rate. The CBR CoS may besuitable for voice communication traffic.

Another CoS may be characterized by a variable bit rate traffic (VBR)traffic profile, where a quantitative minimum data transfer rate,maximum data transfer rate, and/or burst time may be parts of thetraffic profile. In some conventional networks, the minimum and maximumdata transfer rates may be specified in bits/second, while the bursttime may be specified in seconds. For VBR traffic, the network mayattempt to allocate resources to enable traffic to be transmitted at theminimum data transfer rate for a sustained period of time, whileenabling traffic to be transmitted at rates between the minimum datatransfer rate and the maximum data transfer rate for a period of time,which is at least as long as is specified by the burst time trafficprofile parameter. The VBR CoS may be suitable for video communicationtraffic.

Another CoS may be characterized by an unspecified bit rate (UBR)traffic profile. For UBR traffic, the network may not allocate resourceand will transmit such traffic when there are available resources withinthe network. This is sometimes also referred to as “best effort”delivery of traffic. The UBR CoS may be suitable for file transfers andother traditional data-centric traffic.

Further limitations and disadvantages of conventional and traditionalapproaches will become apparent to one of skill in the art, throughcomparison of such systems with some aspects of the present invention asset forth in the remainder of the present application with reference tothe drawings.

BRIEF SUMMARY OF THE INVENTION

A method and system for packet rate shaping, substantially as shown inand/or described in connection with at least one of the figures, as setforth more completely in the claims.

These and other advantages, aspects and novel features of the presentinvention, as well as details of an illustrated embodiment thereof, willbe more fully understood from the following description and drawings.

BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a diagram of an exemplary switch utilizing packet rate shapingbased on class of service, in accordance with an embodiment of theinvention.

FIG. 2 is a diagram of an exemplary switch utilizing packet rate shapingbased on egress port, in accordance with an embodiment of the invention.

FIG. 3 is a diagram of an exemplary integrated circuit device thatimplements packet rate shaping, in according with an embodiment of theinvention.

FIG. 4 is a flow chart illustrating exemplary steps for packet rateshaping based on class of service or egress port, in accordance with anembodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

Certain embodiments of the invention may be found in a method and systemfor packet rate shaping. Various embodiments of the invention comprise amethod and system by which data packets may be classified, within aswitching device that is attached to a network, according to a class ofservice (CoS), and/or by egress port. The switching device schedules atime for transmission of the data packet to the network via the egressport based on the CoS and/or egress port classification. In variousembodiments of the invention, the scheduling of a time for transmissionof the data packet, also referred to as traffic shaping, may shape thetraffic to achieve a data transfer rate, which may be specified inpackets/second.

In various embodiments of the invention, a scheduler within theswitching device may determine the scheduled time for transmission byutilizing a leaky bucket algorithm. In this aspect of the invention, theleaky bucket may determine when a data packet is eligible for beingtransmitted from the egress port. Upon determination of eligibility fortransmission by the leaky bucket, the scheduler may determine the timeinstant at which the data packet may be transmitted. When the leakybucket count reaches a user-defined maximum threshold value, the egressport may be determined to be ineligible for transmission. The leakybucket may comprise a number of tokens, which may be evaluated todetermine whether the data packet is to be allocated a scheduled timefor network transmission. Tokens may be periodically removed from theleaky bucket count. Tokens may be added to the leaky bucket count whendata packets are transmitted via the egress port. If the arriving datapacket is to be allocated a scheduled time for network transmission, thedata packet may be stored in an egress buffer while awaiting anopportunity to be transmitted via the egress port. If the number oftokens in the leaky bucket exceeds a maximum threshold value when thedata packet arrives, a scheduled time for network transmission may bedenied. The number of tokens may be increased by a specified number oftokens for each arriving data packet. The number of tokens may bedecreased, or leaked, at a specified refresh rate as measured intokens/second, for example.

FIG. 1 is a diagram of an exemplary switch utilizing packet rate shapingbased on class of service, in accordance with an embodiment of theinvention. Referring to FIG. 1, there is shown a switch 102, 122, 132and 142. The switch 102 may comprise a plurality of CoS based queues 104a and 104 b, a corresponding plurality of leaky buckets 106 a and 106 b,and a plurality of egress ports 108 a, 108 b and 108 c.

The switch 102 may transmit data packets to switches 122, 132 and/or142. The switch 102 may transmit data packets to switch 122 via egressport 108 a. The switch 102 may transmit data packets to switch 132 viaegress port 108 b. The switch 102 may transmit data packets to switch142 via egress port 108 c. Data packets, labeled as “P” in FIG. 1, whichare to be routed to one of the egress ports may be classified accordingto the CoS associated with the data packet. As shown in FIG. 1, theswitch 102 may establish n service classes, for example, 1-n, whereineach service class may have an associated CoS Queue 104 a or 104 b. Oncea data packet has been classified into a given service class, the datapacket may be stored in the corresponding CoS queue. The switch 102 mayschedule the data packet for transmission via one of the egress ports108 a, 108 b and/or 108 c based on the CoS.

The rate at which the switch 102 retrieves a data packet from a givenCoS queue, and outputs the packet via one of the egress ports 108 a, 108b and/or 108 c, may depend upon one or more traffic profile parametersassociated with the queue. For example, the switch 102 may retrieve datapackets from the CoS Queue 104 a at a rate of R₁ packets/sec. Similarly,the switch 102 may retrieve data packets from the CoS Queue 104 b at arate of R_(n) packets/sec. The switch 102 may determine which egressport is to receive a retrieve data packet based on data contained withinthe retrieved data packet.

The switch 102 may determine a scheduled time for retrieving the datapacket from a given CoS queue based on the leaky bucket associated withthe CoS queue. For example, the leaky bucket 106 a may be associatedwith the CoS queue 104 a. The leaky bucket 106 a enables enforcement ofthe traffic profile parameters associated with the service class bymaintaining a token count. For example, when a data packet arrives atthe CoS Queue 104 a, the switch 102 may determine the token count valueassociated with the leaky bucket 106 a. If the current token count valueis less than or equal to a configurable maximum token count value, thedata packet may be stored in the CoS Queue 104 a to be scheduled fortransmission via one of the egress ports 108 a, 108 b and/or 108 c. Whena data packet is transmitted from the CoS Queue 104 a, the token countvalue in the leaky bucket 106 a may be increased by a specified numberof token. In an exemplary embodiment of the invention, the token countvalue stored in the leaky bucket 106 a may be increased by a specifiednumber of tokens for each data packet that is transmitted from the CoSQueue 104 a. The configurable maximum token count value may be specifiedwith a minimum granularity value, and with a maximum token count value.In various embodiments of the invention, the ability of the token bucket106 a to utilize the configurable maximum token count value for trafficshaping may be disabled.

The leaky bucket 106 a may also decrease the token count value at aspecified rate. This process, referred to as “refresh”, may determinehow many tokens are to be removed from the token bucket 106 a atspecified time intervals. In an exemplary embodiment of the invention,the refresh rate may specify the number of tokens to remove from thetoken bucket 106 a for each time duration, which is approximately equalto the specified time interval. The refresh rate may be specified with aminimum granularity equal to the number of tokens corresponding to asingle data packet. For example, a refresh rate of 1 may correspond toremoving a number of tokens corresponding to 1 data packet from thetoken bucket 106 a for each 1 second time interval.

In various embodiments of the invention, the instantaneous data rate atwhich data packets may be retrieved from the CoS Queue 104 a and sent tothe egress ports 108 a, 108 b and/or 108 c may be determined based onthe configurable maximum token count value and the refresh rateparameters associated with the leaky bucket 106 a.

The description for the CoS Queue 104 b and leaky bucket 106 b may besubstantially similar to the description of CoS Queue 104 a and leakybucket 106 a, respectively. Each CoS queue and leaky bucket may beindependently configured for each distinct service class.

FIG. 2 is a diagram of an exemplary switch utilizing packet rate shapingbased on egress port, in accordance with an embodiment of the invention.Referring to FIG. 1, there is shown a switch 202, 222, 232 and 242. Theswitch 202 may comprise a plurality of port based queues 204 a, 204 band 204 c, a corresponding plurality of leaky buckets 206 a, 206 b and206 c, and a plurality of egress ports 208 a, 208 b and 208 c.

The switch 202 may transmit data packets to switches 222, 232 and/or242. The switch 202 may transmit data packets to switch 222 via egressport 208 a. The switch 202 may transmit data packets to switch 232 viaegress port 208 b. The switch 202 may transmit data packets to switch242 via egress port 208 c. Data packets, labeled as “P” in FIG. 2, maybe classified according to the egress port, which may be utilized fortransmitting the data packet. As shown in FIG. 2, the switch 202 mayestablish may establish a port queue for each egress port. For exampleport queue 204 a may be utilized for storage of data packets, which maybe transmitted via egress port 208 a, port queue 204 b may be utilizedfor storage of data packets, which may be transmitted via egress port208 b and port queue 204 c may be utilized for storage of data packets,which may be transmitted via egress port 208 c. Once a data packet hasbeen stored in the port queue, the switch 202 may schedule the datapacket for transmission via the corresponding egress port.

The rate at which the switch 202 retrieves a data packet from a givenport queue, and outputs the packet via the corresponding egress port,may depend upon one or more traffic profile parameters associated withthe queue. For example, the switch 202 may enable output of data packetsvia the egress port 208 a at a rate of R₁ packets/sec. Similarly, theswitch 202 may enable output of data packets via the egress port 208 bat a rate of R₂ packets/sec, while enabling output of data packets viathe egress port 208 c at a rate of R₃ packets/sec. The switch 202 maydetermine into which port queue to classify a data packet based on datacontained within the retrieved data packet.

The switch 202 may determine a scheduled time for retrieving the datapacket from a given port queue based on the leaky bucket associated withthe port queue. For example, the leaky bucket 206 a may be associatedwith the port queue 204 a. The leaky bucket 206 a enables enforcement ofthe traffic profile parameters associated with the egress port bymaintaining a token count. For example, when a data packet arrives atthe port queue 204 a, the switch 202 may determine the token count valueassociated with the leaky bucket 206 a. If the current token count valueis less than or equal to a configurable maximum token count value, thedata packet may be stored in the port queue 204 a to be scheduled fortransmission via the egress ports 208 a. When a data packet is stored inthe port queue 204 a, the token count value in the leaky bucket 206 amay be increased by a specified number of token. In an exemplaryembodiment of the invention, the token count value stored in the leakybucket 206 a may be increased by a specified number of tokens for eachdata packet that is transmitted from the port queue 204 a. Theconfigurable maximum token count value may be specified with a minimumgranularity value and with a maximum token count value.

The leaky bucket 206 a may also decrease the token count value at aspecified rate. This process, referred to as “refresh”, may determinehow many tokens are to be removed from the token bucket 206 a atspecified time intervals. In an exemplary embodiment of the invention,the refresh rate may specify the number of tokens to remove from thetoken bucket 206 a for each 1 ms time interval. The refresh rate may bespecified with a minimum granularity equal to the number of tokenscorresponding to a single data packet. For example, a refresh rate of 1may correspond to removing a number of tokens corresponding to 1 datapacket from the token bucket 206 a for each 1 second time interval.

In various embodiments of the invention, the instantaneous data rate atwhich data packets may be retrieved from the port queue 204 a and sentto the egress ports 108 a may be determined based on the configurablemaximum token count value and the refresh rate parameters associatedwith the leaky bucket 206 a.

The description for the port queues 204 b and 204 c and leaky buckets206 b and 206 c may be substantially similar to the description of portqueue 204 a and leaky bucket 206 a, respectively. Each port queue andleaky bucket may be independently configured.

In various embodiments of the invention, CoS packet shaping, asdescribed in FIG. 1, and egress port packet shaping, as described inFIG. 2, may be performed concurrently within the switch 102 or 202. WhenCoS and egress port packet shaping are practiced concurrently, a datapacket may first be classified based on CoS and subjected to CoS packetshaping as described in FIG. 1. When the data packet is subsequentlyrouted to a specific egress port, the data packet may then be subjectedto egress port packet shaping as described in FIG. 2.

FIG. 3 is a diagram of an exemplary integrated circuit device thatimplements packet rate shaping, in according with an embodiment of theinvention. Referring to FIG. 3, there is shown an integrated circuit(IC) device 302, and a processor 322. The processor 322 may also bereferred to as a central processing unit (CPU). The IC 302 may implementpacket rate shaping based on CoS classification and/or egress portclassification. The IC 302 may comprise ingress ports 304 a, 304 b and304 c, egress ports 312 a, 312 b and 312 c, memory management unit (MMU)306, and CPU management interface control (CMIC) 310. The MMU 306 maycomprise at least one leaky bucket 308, and at least one queue 309.

The MMU 306 may implement CoS traffic shaping, as described in FIG. 1,and/or egress port traffic shaping, as described in FIG. 2. The MMU 306may comprise a plurality of leaky buckets 308 and a corresponding numberof queues 309, which may be utilized for CoS traffic shaping. Similarly,the MMU 306 may comprise a plurality of leaky buckets 308 and acorresponding number of queues 309, which may be utilized for egressport traffic shaping.

The processor 322 may comprise suitable logic, circuitry and/or codethat may enable configuration of traffic profile parameters for CoStraffic shaping and/or egress port traffic shaping. Exemplary parametersmay comprise maximum token count values, and/or refresh rates for one ormore CoS and/or for one or more egress ports.

The CMIC 310 may provide an interface to the IC 302, which enables theprocessor 322 to configure the MMU 306 to perform CoS traffic shapingand/or egress port traffic shaping. The CMIC 310 may measure aggregatepacket transmission rates from the ingress ports 304 a, 304 b and/or 304c, and to the egress ports 312 a, 312 b and/or 312 c. The CMIC 310 maythen send control signals to the MMU 306 and/or feedback information tothe processor 322. For example, the CMIC 310 may send control signals,which instruct the MMU 306 to discard a data packet received from aningress port 304 a. The CMIC 310 may then send status information to theprocessor 322 reporting the data packet discard event. The processor 322may then enable communicating of a message to the device with originatedthe packet received via ingress port 304 a, for example via egress port312 a, to advice the originating device of the packet discard event.

In operation, once configured with traffic profile parameters, the MMU306 may receive data packets via any of the ingress ports 304 a, 304 band/or 304 c. The traffic profile parameters may specify a rate of datatransmission for a corresponding service class or egress port in unitsof packets/second. The MMU 306 may classify the received data packetbased on CoS classification and/or egress port classification. The MMU306 may apply the corresponding traffic shaping policies in accordingwith the applicable traffic profile parameters. The data packet may bescheduled for transmission via one of the egress ports 312 a, 312 band/or 312 c. The corresponding leaky bucket token count parameters maybe updated in response to each data packet receive and/or token bucketrefresh event.

FIG. 4 is a flow chart illustrating exemplary steps for packet rateshaping based on class of service or egress port, in accordance with anembodiment of the invention. The flow chart shown in FIG. 4 may beindependently utilized for CoS packet rate shaping and/or for egressport packet rate shaping. Referring to FIG. 4, upon starting of therelevant traffic shaping process, in step 402, a determination may bemade as to whether a data packet has arrived via an ingress port, forexample via ingress port 304 a. If a data packet has arrived, in step403, the data packet may be classified. The data packet may beclassified according to a CoS, or according to a destination egressport.

In step 404, a determination may be made as to whether the token countvalue, Token_Count, for the leaky bucket 308 associated with the classfor the received data packet has exceeded a maximum threshold value. If,in step 404, the token count value is determined to have exceeded themaximum threshold value, step 404 may be repeated. If the token counthas not exceeded the maximum threshold value, in step 406, the tokencount value may be increased by a specified token count value,Pkt_Count. In step 408, the received data packet may be stored in thecorresponding queue 309, and scheduled for transmission via theappropriate egress port, for example egress port 312 a. Step 402 mayfollow step 408.

If, in step 402, a data packet has not arrived, in step 412, adetermination may be made as to whether a token bucket refresh timeinterval has elapsed. If in step 412 it is determined that the refreshtime interval has elapsed, in step 414, the token count value may bedecreased by a token bucket refresh value, Refresh. Step 402 may followstep 414. If, in step 412, a token bucket refresh time interval has notelapsed, step 402 may follow step 412.

Aspects of a system for packet rate shaping may comprise an MMU 306 thatenables classification of one or more packets based on a CoS and/or anegress port, and transmission of the packets in accordance with aspecified packet rate based on the classification. The MMU 306 mayenable transmitting the packets when a CoS token bucket, such as leakybucket 106 a, has a token count, which is less than or equal to aspecified maximum token count value when the packets are classifiedbased on CoS. The token count value may be decreased at a specifiedrefresh rate. The specified packet rate may be determined based on thespecified refresh rate. The token count value may represent an integernumber of packets. The token count value may be increased by a specifiedpacket increment value for each classified packet.

The MMU 306 may enable transmitting the packets when an egress porttoken bucket, such as leaky bucket 206 a, has a token count, which isless than or equal to a specified maximum token count value when thepackets are classified based on an egress port. The token count valuemay be decreased at a specified refresh rate. The specified packet ratemay be determined based on the specified refresh rate. The token countvalue may represent an integer number of packets. The token count valuemay be increased by a specified packet increment value for eachclassified packet.

Accordingly, the present invention may be realized in hardware,software, or a combination of hardware and software. The presentinvention may be realized in a centralized fashion in at least onecomputer system, or in a distributed fashion where different elementsare spread across several interconnected computer systems. Any kind ofcomputer system or other apparatus adapted for carrying out the methodsdescribed herein is suited. A typical combination of hardware andsoftware may be a general-purpose computer system with a computerprogram that, when being loaded and executed, controls the computersystem such that it carries out the methods described herein.

The present invention may also be embedded in a computer programproduct, which comprises all the features enabling the implementation ofthe methods described herein, and which when loaded in a computer systemis able to carry out these methods. Computer program in the presentcontext means any expression, in any language, code or notation, of aset of instructions intended to cause a system having an informationprocessing capability to perform a particular function either directlyor after either or both of the following: a) conversion to anotherlanguage, code or notation; b) reproduction in a different materialform.

While the present invention has been described with reference to certainembodiments, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted withoutdeparting from the scope of the present invention. In addition, manymodifications may be made to adapt a particular situation or material tothe teachings of the present invention without departing from its scope.Therefore, it is intended that the present invention not be limited tothe particular embodiment disclosed, but that the present invention willinclude all embodiments falling within the scope of the appended claims.

1. A method for controlling data transmission in a communication system,the method comprising: classifying at least one packet based on a classof service (CoS), and/or an egress port; and transmitting said at leastone packet in accordance with a specified packet rate based on saidclassifying.
 2. The method according to claim 1, comprising transmittingsaid at least one packet when a CoS token bucket has a token count valuewhich is less than or equal to a specified maximum token count valuewhen said at least one packet is classified based on said CoS.
 3. Themethod according to claim 2, comprising decreasing said token countvalue at a specified refresh rate.
 4. The method according to claim 3,wherein said specified packet rate is determined based on said specifiedrefresh rate.
 5. The method according to claim 2, wherein said tokencount value represents an integer number of packets.
 6. The methodaccording to claim 2, comprising increasing said token count value by aspecified packet increment value for each said classified said at leastone packet.
 7. The method according to claim 1, comprising transmittingsaid at least one packet when an egress port token bucket has a tokencount value which is less than or equal to a specified maximum tokencount value when said at least one packet is classified based on saidegress port.
 8. The method according to claim 7, comprising decreasingsaid token count value at a specified refresh rate.
 9. The methodaccording to claim 8, wherein said specified packet rate is determinedbased on said specified refresh rate.
 10. The method according to claim7, wherein said token count value represents an integer number ofpackets.
 11. The method according to claim 7, comprising increasing saidtoken count value by a specified packet increment value for each saidclassified said at least one packet.
 12. A machine-readable storagehaving stored thereon, a computer program having at least one codesection for controlling data transmission in a communication system, theat least one code section being executable by a machine causing themachine to perform steps comprising: classifying at least one packetbased on a class of service (CoS), and/or an egress port; andtransmitting said at least one packet in accordance with a specifiedpacket rate based on said classifying.
 13. The machine-readable storageaccording to claim 12, wherein said at least one code section comprisescode for transmitting said at least one packet when a CoS token buckethas a token count value which is less than or equal to a specifiedmaximum token count value when said at least one packet is classifiedbased on said CoS.
 14. The machine-readable storage according to claim13, wherein said at least one code section comprises code for decreasingsaid token count value at a specified refresh rate.
 15. Themachine-readable storage according to claim 14, wherein said specifiedpacket rate is determined based on said specified refresh rate.
 16. Themachine-readable storage according to claim 13, wherein said token countvalue represents an integer number of packets.
 17. The machine-readablestorage according to claim 13, wherein said at least one code sectioncomprises code for increasing said token count value by a specifiedpacket increment value for each said classified said at least onepacket.
 18. The machine-readable storage according to claim 12, whereinsaid at least one code section comprises code for transmitting said atleast one packet when an egress port token bucket has a token countvalue which is less than or equal to a specified maximum token countvalue when said at least one packet is classified based on said egressport.
 19. The machine-readable storage according to claim 18, whereinsaid at least one code section comprises code for decreasing said tokencount value at a specified refresh rate.
 20. The machine-readablestorage according to claim 19, wherein said specified packet rate isdetermined based on said specified refresh rate.
 21. Themachine-readable storage according to claim 18, wherein said token countvalue represents an integer number of packets.
 22. The machine-readablestorage according to claim 18, wherein said at least one code sectioncomprises code for increasing said token count value by a specifiedpacket increment value for each said classified said at least onepacket.
 23. A system for controlling data transmission in acommunication system, the system comprising: at least one circuit thatenables classification of at least one packet based on a class ofservice (CoS), and/or an egress port; and said at least one circuitenables transmission of said at least one packet in accordance with aspecified packet rate based on said classification.
 24. The systemaccording to claim 23, wherein said at least one circuit enablestransmission of said at least one packet when a CoS token bucket has atoken count value which is less than or equal to a specified maximumtoken count value when said at least one packet is classified based onsaid CoS.
 25. The system according to claim 24, wherein said at leastone circuit enables decreasing of said token count value at a specifiedrefresh rate.
 26. The system according to claim 25, wherein saidspecified packet rate is determined based on said specified refreshrate.
 27. The system according to claim 24, wherein said token countvalue represents an integer number of packets.
 28. The system accordingto claim 24, wherein said at least one circuit enables increasing ofsaid token count value by a specified packet increment value for eachsaid classified said at least one packet.
 29. The system according toclaim 23, wherein said at least one circuit enables transmission of saidat least one packet when an egress port token bucket has a token countvalue which is less than or equal to a specified maximum token countvalue when said at least one packet is classified based on said egressport.
 30. The system according to claim 29, wherein said at least onecircuit enables decreasing of said token count value at a specifiedrefresh rate.
 31. The system according to claim 30, wherein saidspecified packet rate is determined based on said specified refreshrate.
 32. The system according to claim 29, wherein said token countvalue represents an integer number of packets.
 33. The system accordingto claim 29, wherein said at least one circuit enables increasing ofsaid token count value by a specified packet increment value for eachsaid classified said at least one packet.